/**
 * This is a generated class and is not intended for modification.  To customize behavior
 * of this value object you may modify the generated sub-class of this class - VOUserMaster.as.
 */

package com.model.valueObjects
{
import com.adobe.fiber.services.IFiberManagingService;
import com.adobe.fiber.util.FiberUtils;
import com.adobe.fiber.valueobjects.IValueObject;
import flash.events.Event;
import flash.events.EventDispatcher;
import mx.binding.utils.ChangeWatcher;
import mx.events.PropertyChangeEvent;
import mx.validators.ValidationResult;

import flash.net.registerClassAlias;
import flash.net.getClassByAlias;
import com.adobe.fiber.core.model_internal;
import com.adobe.fiber.valueobjects.IPropertyIterator;
import com.adobe.fiber.valueobjects.AvailablePropertyIterator;

use namespace model_internal;

[ExcludeClass]
public class _Super_VOUserMaster extends flash.events.EventDispatcher implements com.adobe.fiber.valueobjects.IValueObject
{
    model_internal static function initRemoteClassAliasSingle(cz:Class) : void
    {
        try
        {
            if (flash.net.getClassByAlias("VOUserMaster") == null)
            {
                flash.net.registerClassAlias("VOUserMaster", cz);
            }
        }
        catch (e:Error)
        {
            flash.net.registerClassAlias("VOUserMaster", cz);
        }
    }

    model_internal static function initRemoteClassAliasAllRelated() : void
    {
    }

    model_internal var _dminternal_model : _VOUserMasterEntityMetadata;

    /**
     * properties
     */
    private var _internal_contactaddress1 : String;
    private var _internal_contactaddress2 : String;
    private var _internal_address1 : String;
    private var _internal_lastname : String;
    private var _internal_address2 : String;
    private var _internal_password : String;
    private var _internal_p_code : String;
    private var _internal_city : String;
    private var _internal_title : String;
    private var _internal_username : String;
    private var _internal_faxno : Number = Number(0);
    private var _internal_locationid : String;
    private var _internal_orgname : String;
    private var _internal_description : String;
    private var _internal_client_id : String;
    private var _internal_user_type : String;
    private var _internal_contactno_1 : int;
    private var _internal_firstname : String;
    private var _internal_contactno_2 : int;
    private var _internal_country : String;
    private var _internal_ext1 : int;
    private var _internal_contactname : String;
    private var _internal_ext2 : int;
    private var _internal_dbname : String;
    private var _internal_active : String;

    private static var emptyArray:Array = new Array();

    // Change this value according to your application's floating-point precision
    private static var epsilon:Number = 0.0001;

    /**
     * derived property cache initialization
     */
    model_internal var _cacheInitialized_isValid:Boolean = false;

    model_internal var _changeWatcherArray:Array = new Array();

    public function _Super_VOUserMaster()
    {
        _model = new _VOUserMasterEntityMetadata(this);

        // Bind to own data properties for cache invalidation triggering
        model_internal::_changeWatcherArray.push(mx.binding.utils.ChangeWatcher.watch(this, "contactaddress1", model_internal::setterListenerContactaddress1));
        model_internal::_changeWatcherArray.push(mx.binding.utils.ChangeWatcher.watch(this, "contactaddress2", model_internal::setterListenerContactaddress2));
        model_internal::_changeWatcherArray.push(mx.binding.utils.ChangeWatcher.watch(this, "address1", model_internal::setterListenerAddress1));
        model_internal::_changeWatcherArray.push(mx.binding.utils.ChangeWatcher.watch(this, "lastname", model_internal::setterListenerLastname));
        model_internal::_changeWatcherArray.push(mx.binding.utils.ChangeWatcher.watch(this, "address2", model_internal::setterListenerAddress2));
        model_internal::_changeWatcherArray.push(mx.binding.utils.ChangeWatcher.watch(this, "password", model_internal::setterListenerPassword));
        model_internal::_changeWatcherArray.push(mx.binding.utils.ChangeWatcher.watch(this, "p_code", model_internal::setterListenerP_code));
        model_internal::_changeWatcherArray.push(mx.binding.utils.ChangeWatcher.watch(this, "city", model_internal::setterListenerCity));
        model_internal::_changeWatcherArray.push(mx.binding.utils.ChangeWatcher.watch(this, "title", model_internal::setterListenerTitle));
        model_internal::_changeWatcherArray.push(mx.binding.utils.ChangeWatcher.watch(this, "username", model_internal::setterListenerUsername));
        model_internal::_changeWatcherArray.push(mx.binding.utils.ChangeWatcher.watch(this, "locationid", model_internal::setterListenerLocationid));
        model_internal::_changeWatcherArray.push(mx.binding.utils.ChangeWatcher.watch(this, "orgname", model_internal::setterListenerOrgname));
        model_internal::_changeWatcherArray.push(mx.binding.utils.ChangeWatcher.watch(this, "description", model_internal::setterListenerDescription));
        model_internal::_changeWatcherArray.push(mx.binding.utils.ChangeWatcher.watch(this, "client_id", model_internal::setterListenerClient_id));
        model_internal::_changeWatcherArray.push(mx.binding.utils.ChangeWatcher.watch(this, "user_type", model_internal::setterListenerUser_type));
        model_internal::_changeWatcherArray.push(mx.binding.utils.ChangeWatcher.watch(this, "firstname", model_internal::setterListenerFirstname));
        model_internal::_changeWatcherArray.push(mx.binding.utils.ChangeWatcher.watch(this, "country", model_internal::setterListenerCountry));
        model_internal::_changeWatcherArray.push(mx.binding.utils.ChangeWatcher.watch(this, "contactname", model_internal::setterListenerContactname));
        model_internal::_changeWatcherArray.push(mx.binding.utils.ChangeWatcher.watch(this, "dbname", model_internal::setterListenerDbname));
        model_internal::_changeWatcherArray.push(mx.binding.utils.ChangeWatcher.watch(this, "active", model_internal::setterListenerActive));

    }

    /**
     * data property getters
     */

    [Bindable(event="propertyChange")]
    public function get contactaddress1() : String
    {
        return _internal_contactaddress1;
    }

    [Bindable(event="propertyChange")]
    public function get contactaddress2() : String
    {
        return _internal_contactaddress2;
    }

    [Bindable(event="propertyChange")]
    public function get address1() : String
    {
        return _internal_address1;
    }

    [Bindable(event="propertyChange")]
    public function get lastname() : String
    {
        return _internal_lastname;
    }

    [Bindable(event="propertyChange")]
    public function get address2() : String
    {
        return _internal_address2;
    }

    [Bindable(event="propertyChange")]
    public function get password() : String
    {
        return _internal_password;
    }

    [Bindable(event="propertyChange")]
    public function get p_code() : String
    {
        return _internal_p_code;
    }

    [Bindable(event="propertyChange")]
    public function get city() : String
    {
        return _internal_city;
    }

    [Bindable(event="propertyChange")]
    public function get title() : String
    {
        return _internal_title;
    }

    [Bindable(event="propertyChange")]
    public function get username() : String
    {
        return _internal_username;
    }

    [Bindable(event="propertyChange")]
    public function get faxno() : Number
    {
        return _internal_faxno;
    }

    [Bindable(event="propertyChange")]
    public function get locationid() : String
    {
        return _internal_locationid;
    }

    [Bindable(event="propertyChange")]
    public function get orgname() : String
    {
        return _internal_orgname;
    }

    [Bindable(event="propertyChange")]
    public function get description() : String
    {
        return _internal_description;
    }

    [Bindable(event="propertyChange")]
    public function get client_id() : String
    {
        return _internal_client_id;
    }

    [Bindable(event="propertyChange")]
    public function get user_type() : String
    {
        return _internal_user_type;
    }

    [Bindable(event="propertyChange")]
    public function get contactno_1() : int
    {
        return _internal_contactno_1;
    }

    [Bindable(event="propertyChange")]
    public function get firstname() : String
    {
        return _internal_firstname;
    }

    [Bindable(event="propertyChange")]
    public function get contactno_2() : int
    {
        return _internal_contactno_2;
    }

    [Bindable(event="propertyChange")]
    public function get country() : String
    {
        return _internal_country;
    }

    [Bindable(event="propertyChange")]
    public function get ext1() : int
    {
        return _internal_ext1;
    }

    [Bindable(event="propertyChange")]
    public function get contactname() : String
    {
        return _internal_contactname;
    }

    [Bindable(event="propertyChange")]
    public function get ext2() : int
    {
        return _internal_ext2;
    }

    [Bindable(event="propertyChange")]
    public function get dbname() : String
    {
        return _internal_dbname;
    }

    [Bindable(event="propertyChange")]
    public function get active() : String
    {
        return _internal_active;
    }

    /**
     * data property setters
     */

    public function set contactaddress1(value:String) : void
    {
        var oldValue:String = _internal_contactaddress1;
        if (oldValue !== value)
        {
            _internal_contactaddress1 = value;
            this.dispatchEvent(mx.events.PropertyChangeEvent.createUpdateEvent(this, "contactaddress1", oldValue, _internal_contactaddress1));
        }
    }

    public function set contactaddress2(value:String) : void
    {
        var oldValue:String = _internal_contactaddress2;
        if (oldValue !== value)
        {
            _internal_contactaddress2 = value;
            this.dispatchEvent(mx.events.PropertyChangeEvent.createUpdateEvent(this, "contactaddress2", oldValue, _internal_contactaddress2));
        }
    }

    public function set address1(value:String) : void
    {
        var oldValue:String = _internal_address1;
        if (oldValue !== value)
        {
            _internal_address1 = value;
            this.dispatchEvent(mx.events.PropertyChangeEvent.createUpdateEvent(this, "address1", oldValue, _internal_address1));
        }
    }

    public function set lastname(value:String) : void
    {
        var oldValue:String = _internal_lastname;
        if (oldValue !== value)
        {
            _internal_lastname = value;
            this.dispatchEvent(mx.events.PropertyChangeEvent.createUpdateEvent(this, "lastname", oldValue, _internal_lastname));
        }
    }

    public function set address2(value:String) : void
    {
        var oldValue:String = _internal_address2;
        if (oldValue !== value)
        {
            _internal_address2 = value;
            this.dispatchEvent(mx.events.PropertyChangeEvent.createUpdateEvent(this, "address2", oldValue, _internal_address2));
        }
    }

    public function set password(value:String) : void
    {
        var oldValue:String = _internal_password;
        if (oldValue !== value)
        {
            _internal_password = value;
            this.dispatchEvent(mx.events.PropertyChangeEvent.createUpdateEvent(this, "password", oldValue, _internal_password));
        }
    }

    public function set p_code(value:String) : void
    {
        var oldValue:String = _internal_p_code;
        if (oldValue !== value)
        {
            _internal_p_code = value;
            this.dispatchEvent(mx.events.PropertyChangeEvent.createUpdateEvent(this, "p_code", oldValue, _internal_p_code));
        }
    }

    public function set city(value:String) : void
    {
        var oldValue:String = _internal_city;
        if (oldValue !== value)
        {
            _internal_city = value;
            this.dispatchEvent(mx.events.PropertyChangeEvent.createUpdateEvent(this, "city", oldValue, _internal_city));
        }
    }

    public function set title(value:String) : void
    {
        var oldValue:String = _internal_title;
        if (oldValue !== value)
        {
            _internal_title = value;
            this.dispatchEvent(mx.events.PropertyChangeEvent.createUpdateEvent(this, "title", oldValue, _internal_title));
        }
    }

    public function set username(value:String) : void
    {
        var oldValue:String = _internal_username;
        if (oldValue !== value)
        {
            _internal_username = value;
            this.dispatchEvent(mx.events.PropertyChangeEvent.createUpdateEvent(this, "username", oldValue, _internal_username));
        }
    }

    public function set faxno(value:Number) : void
    {
        var oldValue:Number = _internal_faxno;
        if (isNaN(_internal_faxno) == true || Math.abs(oldValue - value) > epsilon)
        {
            _internal_faxno = value;
            this.dispatchEvent(mx.events.PropertyChangeEvent.createUpdateEvent(this, "faxno", oldValue, _internal_faxno));
        }
    }

    public function set locationid(value:String) : void
    {
        var oldValue:String = _internal_locationid;
        if (oldValue !== value)
        {
            _internal_locationid = value;
            this.dispatchEvent(mx.events.PropertyChangeEvent.createUpdateEvent(this, "locationid", oldValue, _internal_locationid));
        }
    }

    public function set orgname(value:String) : void
    {
        var oldValue:String = _internal_orgname;
        if (oldValue !== value)
        {
            _internal_orgname = value;
            this.dispatchEvent(mx.events.PropertyChangeEvent.createUpdateEvent(this, "orgname", oldValue, _internal_orgname));
        }
    }

    public function set description(value:String) : void
    {
        var oldValue:String = _internal_description;
        if (oldValue !== value)
        {
            _internal_description = value;
            this.dispatchEvent(mx.events.PropertyChangeEvent.createUpdateEvent(this, "description", oldValue, _internal_description));
        }
    }

    public function set client_id(value:String) : void
    {
        var oldValue:String = _internal_client_id;
        if (oldValue !== value)
        {
            _internal_client_id = value;
            this.dispatchEvent(mx.events.PropertyChangeEvent.createUpdateEvent(this, "client_id", oldValue, _internal_client_id));
        }
    }

    public function set user_type(value:String) : void
    {
        var oldValue:String = _internal_user_type;
        if (oldValue !== value)
        {
            _internal_user_type = value;
            this.dispatchEvent(mx.events.PropertyChangeEvent.createUpdateEvent(this, "user_type", oldValue, _internal_user_type));
        }
    }

    public function set contactno_1(value:int) : void
    {
        var oldValue:int = _internal_contactno_1;
        if (oldValue !== value)
        {
            _internal_contactno_1 = value;
            this.dispatchEvent(mx.events.PropertyChangeEvent.createUpdateEvent(this, "contactno_1", oldValue, _internal_contactno_1));
        }
    }

    public function set firstname(value:String) : void
    {
        var oldValue:String = _internal_firstname;
        if (oldValue !== value)
        {
            _internal_firstname = value;
            this.dispatchEvent(mx.events.PropertyChangeEvent.createUpdateEvent(this, "firstname", oldValue, _internal_firstname));
        }
    }

    public function set contactno_2(value:int) : void
    {
        var oldValue:int = _internal_contactno_2;
        if (oldValue !== value)
        {
            _internal_contactno_2 = value;
            this.dispatchEvent(mx.events.PropertyChangeEvent.createUpdateEvent(this, "contactno_2", oldValue, _internal_contactno_2));
        }
    }

    public function set country(value:String) : void
    {
        var oldValue:String = _internal_country;
        if (oldValue !== value)
        {
            _internal_country = value;
            this.dispatchEvent(mx.events.PropertyChangeEvent.createUpdateEvent(this, "country", oldValue, _internal_country));
        }
    }

    public function set ext1(value:int) : void
    {
        var oldValue:int = _internal_ext1;
        if (oldValue !== value)
        {
            _internal_ext1 = value;
            this.dispatchEvent(mx.events.PropertyChangeEvent.createUpdateEvent(this, "ext1", oldValue, _internal_ext1));
        }
    }

    public function set contactname(value:String) : void
    {
        var oldValue:String = _internal_contactname;
        if (oldValue !== value)
        {
            _internal_contactname = value;
            this.dispatchEvent(mx.events.PropertyChangeEvent.createUpdateEvent(this, "contactname", oldValue, _internal_contactname));
        }
    }

    public function set ext2(value:int) : void
    {
        var oldValue:int = _internal_ext2;
        if (oldValue !== value)
        {
            _internal_ext2 = value;
            this.dispatchEvent(mx.events.PropertyChangeEvent.createUpdateEvent(this, "ext2", oldValue, _internal_ext2));
        }
    }

    public function set dbname(value:String) : void
    {
        var oldValue:String = _internal_dbname;
        if (oldValue !== value)
        {
            _internal_dbname = value;
            this.dispatchEvent(mx.events.PropertyChangeEvent.createUpdateEvent(this, "dbname", oldValue, _internal_dbname));
        }
    }

    public function set active(value:String) : void
    {
        var oldValue:String = _internal_active;
        if (oldValue !== value)
        {
            _internal_active = value;
            this.dispatchEvent(mx.events.PropertyChangeEvent.createUpdateEvent(this, "active", oldValue, _internal_active));
        }
    }

    /**
     * Data property setter listeners
     *
     * Each data property whose value affects other properties or the validity of the entity
     * needs to invalidate all previously calculated artifacts. These include:
     *  - any derived properties or constraints that reference the given data property.
     *  - any availability guards (variant expressions) that reference the given data property.
     *  - any style validations, message tokens or guards that reference the given data property.
     *  - the validity of the property (and the containing entity) if the given data property has a length restriction.
     *  - the validity of the property (and the containing entity) if the given data property is required.
     */

    model_internal function setterListenerContactaddress1(value:flash.events.Event):void
    {
        _model.invalidateDependentOnContactaddress1();
    }

    model_internal function setterListenerContactaddress2(value:flash.events.Event):void
    {
        _model.invalidateDependentOnContactaddress2();
    }

    model_internal function setterListenerAddress1(value:flash.events.Event):void
    {
        _model.invalidateDependentOnAddress1();
    }

    model_internal function setterListenerLastname(value:flash.events.Event):void
    {
        _model.invalidateDependentOnLastname();
    }

    model_internal function setterListenerAddress2(value:flash.events.Event):void
    {
        _model.invalidateDependentOnAddress2();
    }

    model_internal function setterListenerPassword(value:flash.events.Event):void
    {
        _model.invalidateDependentOnPassword();
    }

    model_internal function setterListenerP_code(value:flash.events.Event):void
    {
        _model.invalidateDependentOnP_code();
    }

    model_internal function setterListenerCity(value:flash.events.Event):void
    {
        _model.invalidateDependentOnCity();
    }

    model_internal function setterListenerTitle(value:flash.events.Event):void
    {
        _model.invalidateDependentOnTitle();
    }

    model_internal function setterListenerUsername(value:flash.events.Event):void
    {
        _model.invalidateDependentOnUsername();
    }

    model_internal function setterListenerLocationid(value:flash.events.Event):void
    {
        _model.invalidateDependentOnLocationid();
    }

    model_internal function setterListenerOrgname(value:flash.events.Event):void
    {
        _model.invalidateDependentOnOrgname();
    }

    model_internal function setterListenerDescription(value:flash.events.Event):void
    {
        _model.invalidateDependentOnDescription();
    }

    model_internal function setterListenerClient_id(value:flash.events.Event):void
    {
        _model.invalidateDependentOnClient_id();
    }

    model_internal function setterListenerUser_type(value:flash.events.Event):void
    {
        _model.invalidateDependentOnUser_type();
    }

    model_internal function setterListenerFirstname(value:flash.events.Event):void
    {
        _model.invalidateDependentOnFirstname();
    }

    model_internal function setterListenerCountry(value:flash.events.Event):void
    {
        _model.invalidateDependentOnCountry();
    }

    model_internal function setterListenerContactname(value:flash.events.Event):void
    {
        _model.invalidateDependentOnContactname();
    }

    model_internal function setterListenerDbname(value:flash.events.Event):void
    {
        _model.invalidateDependentOnDbname();
    }

    model_internal function setterListenerActive(value:flash.events.Event):void
    {
        _model.invalidateDependentOnActive();
    }


    /**
     * valid related derived properties
     */
    model_internal var _isValid : Boolean;
    model_internal var _invalidConstraints:Array = new Array();
    model_internal var _validationFailureMessages:Array = new Array();

    /**
     * derived property calculators
     */

    /**
     * isValid calculator
     */
    model_internal function calculateIsValid():Boolean
    {
        var violatedConsts:Array = new Array();
        var validationFailureMessages:Array = new Array();

        var propertyValidity:Boolean = true;
        if (!_model.contactaddress1IsValid)
        {
            propertyValidity = false;
            com.adobe.fiber.util.FiberUtils.arrayAdd(validationFailureMessages, _model.model_internal::_contactaddress1ValidationFailureMessages);
        }
        if (!_model.contactaddress2IsValid)
        {
            propertyValidity = false;
            com.adobe.fiber.util.FiberUtils.arrayAdd(validationFailureMessages, _model.model_internal::_contactaddress2ValidationFailureMessages);
        }
        if (!_model.address1IsValid)
        {
            propertyValidity = false;
            com.adobe.fiber.util.FiberUtils.arrayAdd(validationFailureMessages, _model.model_internal::_address1ValidationFailureMessages);
        }
        if (!_model.lastnameIsValid)
        {
            propertyValidity = false;
            com.adobe.fiber.util.FiberUtils.arrayAdd(validationFailureMessages, _model.model_internal::_lastnameValidationFailureMessages);
        }
        if (!_model.address2IsValid)
        {
            propertyValidity = false;
            com.adobe.fiber.util.FiberUtils.arrayAdd(validationFailureMessages, _model.model_internal::_address2ValidationFailureMessages);
        }
        if (!_model.passwordIsValid)
        {
            propertyValidity = false;
            com.adobe.fiber.util.FiberUtils.arrayAdd(validationFailureMessages, _model.model_internal::_passwordValidationFailureMessages);
        }
        if (!_model.p_codeIsValid)
        {
            propertyValidity = false;
            com.adobe.fiber.util.FiberUtils.arrayAdd(validationFailureMessages, _model.model_internal::_p_codeValidationFailureMessages);
        }
        if (!_model.cityIsValid)
        {
            propertyValidity = false;
            com.adobe.fiber.util.FiberUtils.arrayAdd(validationFailureMessages, _model.model_internal::_cityValidationFailureMessages);
        }
        if (!_model.titleIsValid)
        {
            propertyValidity = false;
            com.adobe.fiber.util.FiberUtils.arrayAdd(validationFailureMessages, _model.model_internal::_titleValidationFailureMessages);
        }
        if (!_model.usernameIsValid)
        {
            propertyValidity = false;
            com.adobe.fiber.util.FiberUtils.arrayAdd(validationFailureMessages, _model.model_internal::_usernameValidationFailureMessages);
        }
        if (!_model.locationidIsValid)
        {
            propertyValidity = false;
            com.adobe.fiber.util.FiberUtils.arrayAdd(validationFailureMessages, _model.model_internal::_locationidValidationFailureMessages);
        }
        if (!_model.orgnameIsValid)
        {
            propertyValidity = false;
            com.adobe.fiber.util.FiberUtils.arrayAdd(validationFailureMessages, _model.model_internal::_orgnameValidationFailureMessages);
        }
        if (!_model.descriptionIsValid)
        {
            propertyValidity = false;
            com.adobe.fiber.util.FiberUtils.arrayAdd(validationFailureMessages, _model.model_internal::_descriptionValidationFailureMessages);
        }
        if (!_model.client_idIsValid)
        {
            propertyValidity = false;
            com.adobe.fiber.util.FiberUtils.arrayAdd(validationFailureMessages, _model.model_internal::_client_idValidationFailureMessages);
        }
        if (!_model.user_typeIsValid)
        {
            propertyValidity = false;
            com.adobe.fiber.util.FiberUtils.arrayAdd(validationFailureMessages, _model.model_internal::_user_typeValidationFailureMessages);
        }
        if (!_model.firstnameIsValid)
        {
            propertyValidity = false;
            com.adobe.fiber.util.FiberUtils.arrayAdd(validationFailureMessages, _model.model_internal::_firstnameValidationFailureMessages);
        }
        if (!_model.countryIsValid)
        {
            propertyValidity = false;
            com.adobe.fiber.util.FiberUtils.arrayAdd(validationFailureMessages, _model.model_internal::_countryValidationFailureMessages);
        }
        if (!_model.contactnameIsValid)
        {
            propertyValidity = false;
            com.adobe.fiber.util.FiberUtils.arrayAdd(validationFailureMessages, _model.model_internal::_contactnameValidationFailureMessages);
        }
        if (!_model.dbnameIsValid)
        {
            propertyValidity = false;
            com.adobe.fiber.util.FiberUtils.arrayAdd(validationFailureMessages, _model.model_internal::_dbnameValidationFailureMessages);
        }
        if (!_model.activeIsValid)
        {
            propertyValidity = false;
            com.adobe.fiber.util.FiberUtils.arrayAdd(validationFailureMessages, _model.model_internal::_activeValidationFailureMessages);
        }

        model_internal::_cacheInitialized_isValid = true;
        model_internal::invalidConstraints_der = violatedConsts;
        model_internal::validationFailureMessages_der = validationFailureMessages;
        return violatedConsts.length == 0 && propertyValidity;
    }

    /**
     * derived property setters
     */

    model_internal function set isValid_der(value:Boolean) : void
    {
        var oldValue:Boolean = model_internal::_isValid;
        if (oldValue !== value)
        {
            model_internal::_isValid = value;
            _model.model_internal::fireChangeEvent("isValid", oldValue, model_internal::_isValid);
        }
    }

    /**
     * derived property getters
     */

    [Transient]
    [Bindable(event="propertyChange")]
    public function get _model() : _VOUserMasterEntityMetadata
    {
        return model_internal::_dminternal_model;
    }

    public function set _model(value : _VOUserMasterEntityMetadata) : void
    {
        var oldValue : _VOUserMasterEntityMetadata = model_internal::_dminternal_model;
        if (oldValue !== value)
        {
            model_internal::_dminternal_model = value;
            this.dispatchEvent(mx.events.PropertyChangeEvent.createUpdateEvent(this, "_model", oldValue, model_internal::_dminternal_model));
        }
    }

    /**
     * methods
     */


    /**
     *  services
     */
    private var _managingService:com.adobe.fiber.services.IFiberManagingService;

    public function set managingService(managingService:com.adobe.fiber.services.IFiberManagingService):void
    {
        _managingService = managingService;
    }

    model_internal function set invalidConstraints_der(value:Array) : void
    {
        var oldValue:Array = model_internal::_invalidConstraints;
        // avoid firing the event when old and new value are different empty arrays
        if (oldValue !== value && (oldValue.length > 0 || value.length > 0))
        {
            model_internal::_invalidConstraints = value;
            _model.model_internal::fireChangeEvent("invalidConstraints", oldValue, model_internal::_invalidConstraints);
        }
    }

    model_internal function set validationFailureMessages_der(value:Array) : void
    {
        var oldValue:Array = model_internal::_validationFailureMessages;
        // avoid firing the event when old and new value are different empty arrays
        if (oldValue !== value && (oldValue.length > 0 || value.length > 0))
        {
            model_internal::_validationFailureMessages = value;
            _model.model_internal::fireChangeEvent("validationFailureMessages", oldValue, model_internal::_validationFailureMessages);
        }
    }

    model_internal var _doValidationCacheOfContactaddress1 : Array = null;
    model_internal var _doValidationLastValOfContactaddress1 : String;

    model_internal function _doValidationForContactaddress1(valueIn:Object):Array
    {
        var value : String = valueIn as String;

        if (model_internal::_doValidationCacheOfContactaddress1 != null && model_internal::_doValidationLastValOfContactaddress1 == value)
           return model_internal::_doValidationCacheOfContactaddress1 ;

        _model.model_internal::_contactaddress1IsValidCacheInitialized = true;
        var validationFailures:Array = new Array();
        var errorMessage:String;
        var failure:Boolean;

        var valRes:ValidationResult;
        if (_model.isContactaddress1Available && _internal_contactaddress1 == null)
        {
            validationFailures.push(new ValidationResult(true, "", "", "contactaddress1 is required"));
        }

        model_internal::_doValidationCacheOfContactaddress1 = validationFailures;
        model_internal::_doValidationLastValOfContactaddress1 = value;

        return validationFailures;
    }
    
    model_internal var _doValidationCacheOfContactaddress2 : Array = null;
    model_internal var _doValidationLastValOfContactaddress2 : String;

    model_internal function _doValidationForContactaddress2(valueIn:Object):Array
    {
        var value : String = valueIn as String;

        if (model_internal::_doValidationCacheOfContactaddress2 != null && model_internal::_doValidationLastValOfContactaddress2 == value)
           return model_internal::_doValidationCacheOfContactaddress2 ;

        _model.model_internal::_contactaddress2IsValidCacheInitialized = true;
        var validationFailures:Array = new Array();
        var errorMessage:String;
        var failure:Boolean;

        var valRes:ValidationResult;
        if (_model.isContactaddress2Available && _internal_contactaddress2 == null)
        {
            validationFailures.push(new ValidationResult(true, "", "", "contactaddress2 is required"));
        }

        model_internal::_doValidationCacheOfContactaddress2 = validationFailures;
        model_internal::_doValidationLastValOfContactaddress2 = value;

        return validationFailures;
    }
    
    model_internal var _doValidationCacheOfAddress1 : Array = null;
    model_internal var _doValidationLastValOfAddress1 : String;

    model_internal function _doValidationForAddress1(valueIn:Object):Array
    {
        var value : String = valueIn as String;

        if (model_internal::_doValidationCacheOfAddress1 != null && model_internal::_doValidationLastValOfAddress1 == value)
           return model_internal::_doValidationCacheOfAddress1 ;

        _model.model_internal::_address1IsValidCacheInitialized = true;
        var validationFailures:Array = new Array();
        var errorMessage:String;
        var failure:Boolean;

        var valRes:ValidationResult;
        if (_model.isAddress1Available && _internal_address1 == null)
        {
            validationFailures.push(new ValidationResult(true, "", "", "address1 is required"));
        }

        model_internal::_doValidationCacheOfAddress1 = validationFailures;
        model_internal::_doValidationLastValOfAddress1 = value;

        return validationFailures;
    }
    
    model_internal var _doValidationCacheOfLastname : Array = null;
    model_internal var _doValidationLastValOfLastname : String;

    model_internal function _doValidationForLastname(valueIn:Object):Array
    {
        var value : String = valueIn as String;

        if (model_internal::_doValidationCacheOfLastname != null && model_internal::_doValidationLastValOfLastname == value)
           return model_internal::_doValidationCacheOfLastname ;

        _model.model_internal::_lastnameIsValidCacheInitialized = true;
        var validationFailures:Array = new Array();
        var errorMessage:String;
        var failure:Boolean;

        var valRes:ValidationResult;
        if (_model.isLastnameAvailable && _internal_lastname == null)
        {
            validationFailures.push(new ValidationResult(true, "", "", "lastname is required"));
        }

        model_internal::_doValidationCacheOfLastname = validationFailures;
        model_internal::_doValidationLastValOfLastname = value;

        return validationFailures;
    }
    
    model_internal var _doValidationCacheOfAddress2 : Array = null;
    model_internal var _doValidationLastValOfAddress2 : String;

    model_internal function _doValidationForAddress2(valueIn:Object):Array
    {
        var value : String = valueIn as String;

        if (model_internal::_doValidationCacheOfAddress2 != null && model_internal::_doValidationLastValOfAddress2 == value)
           return model_internal::_doValidationCacheOfAddress2 ;

        _model.model_internal::_address2IsValidCacheInitialized = true;
        var validationFailures:Array = new Array();
        var errorMessage:String;
        var failure:Boolean;

        var valRes:ValidationResult;
        if (_model.isAddress2Available && _internal_address2 == null)
        {
            validationFailures.push(new ValidationResult(true, "", "", "address2 is required"));
        }

        model_internal::_doValidationCacheOfAddress2 = validationFailures;
        model_internal::_doValidationLastValOfAddress2 = value;

        return validationFailures;
    }
    
    model_internal var _doValidationCacheOfPassword : Array = null;
    model_internal var _doValidationLastValOfPassword : String;

    model_internal function _doValidationForPassword(valueIn:Object):Array
    {
        var value : String = valueIn as String;

        if (model_internal::_doValidationCacheOfPassword != null && model_internal::_doValidationLastValOfPassword == value)
           return model_internal::_doValidationCacheOfPassword ;

        _model.model_internal::_passwordIsValidCacheInitialized = true;
        var validationFailures:Array = new Array();
        var errorMessage:String;
        var failure:Boolean;

        var valRes:ValidationResult;
        if (_model.isPasswordAvailable && _internal_password == null)
        {
            validationFailures.push(new ValidationResult(true, "", "", "password is required"));
        }

        model_internal::_doValidationCacheOfPassword = validationFailures;
        model_internal::_doValidationLastValOfPassword = value;

        return validationFailures;
    }
    
    model_internal var _doValidationCacheOfP_code : Array = null;
    model_internal var _doValidationLastValOfP_code : String;

    model_internal function _doValidationForP_code(valueIn:Object):Array
    {
        var value : String = valueIn as String;

        if (model_internal::_doValidationCacheOfP_code != null && model_internal::_doValidationLastValOfP_code == value)
           return model_internal::_doValidationCacheOfP_code ;

        _model.model_internal::_p_codeIsValidCacheInitialized = true;
        var validationFailures:Array = new Array();
        var errorMessage:String;
        var failure:Boolean;

        var valRes:ValidationResult;
        if (_model.isP_codeAvailable && _internal_p_code == null)
        {
            validationFailures.push(new ValidationResult(true, "", "", "p_code is required"));
        }

        model_internal::_doValidationCacheOfP_code = validationFailures;
        model_internal::_doValidationLastValOfP_code = value;

        return validationFailures;
    }
    
    model_internal var _doValidationCacheOfCity : Array = null;
    model_internal var _doValidationLastValOfCity : String;

    model_internal function _doValidationForCity(valueIn:Object):Array
    {
        var value : String = valueIn as String;

        if (model_internal::_doValidationCacheOfCity != null && model_internal::_doValidationLastValOfCity == value)
           return model_internal::_doValidationCacheOfCity ;

        _model.model_internal::_cityIsValidCacheInitialized = true;
        var validationFailures:Array = new Array();
        var errorMessage:String;
        var failure:Boolean;

        var valRes:ValidationResult;
        if (_model.isCityAvailable && _internal_city == null)
        {
            validationFailures.push(new ValidationResult(true, "", "", "city is required"));
        }

        model_internal::_doValidationCacheOfCity = validationFailures;
        model_internal::_doValidationLastValOfCity = value;

        return validationFailures;
    }
    
    model_internal var _doValidationCacheOfTitle : Array = null;
    model_internal var _doValidationLastValOfTitle : String;

    model_internal function _doValidationForTitle(valueIn:Object):Array
    {
        var value : String = valueIn as String;

        if (model_internal::_doValidationCacheOfTitle != null && model_internal::_doValidationLastValOfTitle == value)
           return model_internal::_doValidationCacheOfTitle ;

        _model.model_internal::_titleIsValidCacheInitialized = true;
        var validationFailures:Array = new Array();
        var errorMessage:String;
        var failure:Boolean;

        var valRes:ValidationResult;
        if (_model.isTitleAvailable && _internal_title == null)
        {
            validationFailures.push(new ValidationResult(true, "", "", "title is required"));
        }

        model_internal::_doValidationCacheOfTitle = validationFailures;
        model_internal::_doValidationLastValOfTitle = value;

        return validationFailures;
    }
    
    model_internal var _doValidationCacheOfUsername : Array = null;
    model_internal var _doValidationLastValOfUsername : String;

    model_internal function _doValidationForUsername(valueIn:Object):Array
    {
        var value : String = valueIn as String;

        if (model_internal::_doValidationCacheOfUsername != null && model_internal::_doValidationLastValOfUsername == value)
           return model_internal::_doValidationCacheOfUsername ;

        _model.model_internal::_usernameIsValidCacheInitialized = true;
        var validationFailures:Array = new Array();
        var errorMessage:String;
        var failure:Boolean;

        var valRes:ValidationResult;
        if (_model.isUsernameAvailable && _internal_username == null)
        {
            validationFailures.push(new ValidationResult(true, "", "", "username is required"));
        }

        model_internal::_doValidationCacheOfUsername = validationFailures;
        model_internal::_doValidationLastValOfUsername = value;

        return validationFailures;
    }
    
    model_internal var _doValidationCacheOfLocationid : Array = null;
    model_internal var _doValidationLastValOfLocationid : String;

    model_internal function _doValidationForLocationid(valueIn:Object):Array
    {
        var value : String = valueIn as String;

        if (model_internal::_doValidationCacheOfLocationid != null && model_internal::_doValidationLastValOfLocationid == value)
           return model_internal::_doValidationCacheOfLocationid ;

        _model.model_internal::_locationidIsValidCacheInitialized = true;
        var validationFailures:Array = new Array();
        var errorMessage:String;
        var failure:Boolean;

        var valRes:ValidationResult;
        if (_model.isLocationidAvailable && _internal_locationid == null)
        {
            validationFailures.push(new ValidationResult(true, "", "", "locationid is required"));
        }

        model_internal::_doValidationCacheOfLocationid = validationFailures;
        model_internal::_doValidationLastValOfLocationid = value;

        return validationFailures;
    }
    
    model_internal var _doValidationCacheOfOrgname : Array = null;
    model_internal var _doValidationLastValOfOrgname : String;

    model_internal function _doValidationForOrgname(valueIn:Object):Array
    {
        var value : String = valueIn as String;

        if (model_internal::_doValidationCacheOfOrgname != null && model_internal::_doValidationLastValOfOrgname == value)
           return model_internal::_doValidationCacheOfOrgname ;

        _model.model_internal::_orgnameIsValidCacheInitialized = true;
        var validationFailures:Array = new Array();
        var errorMessage:String;
        var failure:Boolean;

        var valRes:ValidationResult;
        if (_model.isOrgnameAvailable && _internal_orgname == null)
        {
            validationFailures.push(new ValidationResult(true, "", "", "orgname is required"));
        }

        model_internal::_doValidationCacheOfOrgname = validationFailures;
        model_internal::_doValidationLastValOfOrgname = value;

        return validationFailures;
    }
    
    model_internal var _doValidationCacheOfDescription : Array = null;
    model_internal var _doValidationLastValOfDescription : String;

    model_internal function _doValidationForDescription(valueIn:Object):Array
    {
        var value : String = valueIn as String;

        if (model_internal::_doValidationCacheOfDescription != null && model_internal::_doValidationLastValOfDescription == value)
           return model_internal::_doValidationCacheOfDescription ;

        _model.model_internal::_descriptionIsValidCacheInitialized = true;
        var validationFailures:Array = new Array();
        var errorMessage:String;
        var failure:Boolean;

        var valRes:ValidationResult;
        if (_model.isDescriptionAvailable && _internal_description == null)
        {
            validationFailures.push(new ValidationResult(true, "", "", "description is required"));
        }

        model_internal::_doValidationCacheOfDescription = validationFailures;
        model_internal::_doValidationLastValOfDescription = value;

        return validationFailures;
    }
    
    model_internal var _doValidationCacheOfClient_id : Array = null;
    model_internal var _doValidationLastValOfClient_id : String;

    model_internal function _doValidationForClient_id(valueIn:Object):Array
    {
        var value : String = valueIn as String;

        if (model_internal::_doValidationCacheOfClient_id != null && model_internal::_doValidationLastValOfClient_id == value)
           return model_internal::_doValidationCacheOfClient_id ;

        _model.model_internal::_client_idIsValidCacheInitialized = true;
        var validationFailures:Array = new Array();
        var errorMessage:String;
        var failure:Boolean;

        var valRes:ValidationResult;
        if (_model.isClient_idAvailable && _internal_client_id == null)
        {
            validationFailures.push(new ValidationResult(true, "", "", "client_id is required"));
        }

        model_internal::_doValidationCacheOfClient_id = validationFailures;
        model_internal::_doValidationLastValOfClient_id = value;

        return validationFailures;
    }
    
    model_internal var _doValidationCacheOfUser_type : Array = null;
    model_internal var _doValidationLastValOfUser_type : String;

    model_internal function _doValidationForUser_type(valueIn:Object):Array
    {
        var value : String = valueIn as String;

        if (model_internal::_doValidationCacheOfUser_type != null && model_internal::_doValidationLastValOfUser_type == value)
           return model_internal::_doValidationCacheOfUser_type ;

        _model.model_internal::_user_typeIsValidCacheInitialized = true;
        var validationFailures:Array = new Array();
        var errorMessage:String;
        var failure:Boolean;

        var valRes:ValidationResult;
        if (_model.isUser_typeAvailable && _internal_user_type == null)
        {
            validationFailures.push(new ValidationResult(true, "", "", "user_type is required"));
        }

        model_internal::_doValidationCacheOfUser_type = validationFailures;
        model_internal::_doValidationLastValOfUser_type = value;

        return validationFailures;
    }
    
    model_internal var _doValidationCacheOfFirstname : Array = null;
    model_internal var _doValidationLastValOfFirstname : String;

    model_internal function _doValidationForFirstname(valueIn:Object):Array
    {
        var value : String = valueIn as String;

        if (model_internal::_doValidationCacheOfFirstname != null && model_internal::_doValidationLastValOfFirstname == value)
           return model_internal::_doValidationCacheOfFirstname ;

        _model.model_internal::_firstnameIsValidCacheInitialized = true;
        var validationFailures:Array = new Array();
        var errorMessage:String;
        var failure:Boolean;

        var valRes:ValidationResult;
        if (_model.isFirstnameAvailable && _internal_firstname == null)
        {
            validationFailures.push(new ValidationResult(true, "", "", "firstname is required"));
        }

        model_internal::_doValidationCacheOfFirstname = validationFailures;
        model_internal::_doValidationLastValOfFirstname = value;

        return validationFailures;
    }
    
    model_internal var _doValidationCacheOfCountry : Array = null;
    model_internal var _doValidationLastValOfCountry : String;

    model_internal function _doValidationForCountry(valueIn:Object):Array
    {
        var value : String = valueIn as String;

        if (model_internal::_doValidationCacheOfCountry != null && model_internal::_doValidationLastValOfCountry == value)
           return model_internal::_doValidationCacheOfCountry ;

        _model.model_internal::_countryIsValidCacheInitialized = true;
        var validationFailures:Array = new Array();
        var errorMessage:String;
        var failure:Boolean;

        var valRes:ValidationResult;
        if (_model.isCountryAvailable && _internal_country == null)
        {
            validationFailures.push(new ValidationResult(true, "", "", "country is required"));
        }

        model_internal::_doValidationCacheOfCountry = validationFailures;
        model_internal::_doValidationLastValOfCountry = value;

        return validationFailures;
    }
    
    model_internal var _doValidationCacheOfContactname : Array = null;
    model_internal var _doValidationLastValOfContactname : String;

    model_internal function _doValidationForContactname(valueIn:Object):Array
    {
        var value : String = valueIn as String;

        if (model_internal::_doValidationCacheOfContactname != null && model_internal::_doValidationLastValOfContactname == value)
           return model_internal::_doValidationCacheOfContactname ;

        _model.model_internal::_contactnameIsValidCacheInitialized = true;
        var validationFailures:Array = new Array();
        var errorMessage:String;
        var failure:Boolean;

        var valRes:ValidationResult;
        if (_model.isContactnameAvailable && _internal_contactname == null)
        {
            validationFailures.push(new ValidationResult(true, "", "", "contactname is required"));
        }

        model_internal::_doValidationCacheOfContactname = validationFailures;
        model_internal::_doValidationLastValOfContactname = value;

        return validationFailures;
    }
    
    model_internal var _doValidationCacheOfDbname : Array = null;
    model_internal var _doValidationLastValOfDbname : String;

    model_internal function _doValidationForDbname(valueIn:Object):Array
    {
        var value : String = valueIn as String;

        if (model_internal::_doValidationCacheOfDbname != null && model_internal::_doValidationLastValOfDbname == value)
           return model_internal::_doValidationCacheOfDbname ;

        _model.model_internal::_dbnameIsValidCacheInitialized = true;
        var validationFailures:Array = new Array();
        var errorMessage:String;
        var failure:Boolean;

        var valRes:ValidationResult;
        if (_model.isDbnameAvailable && _internal_dbname == null)
        {
            validationFailures.push(new ValidationResult(true, "", "", "dbname is required"));
        }

        model_internal::_doValidationCacheOfDbname = validationFailures;
        model_internal::_doValidationLastValOfDbname = value;

        return validationFailures;
    }
    
    model_internal var _doValidationCacheOfActive : Array = null;
    model_internal var _doValidationLastValOfActive : String;

    model_internal function _doValidationForActive(valueIn:Object):Array
    {
        var value : String = valueIn as String;

        if (model_internal::_doValidationCacheOfActive != null && model_internal::_doValidationLastValOfActive == value)
           return model_internal::_doValidationCacheOfActive ;

        _model.model_internal::_activeIsValidCacheInitialized = true;
        var validationFailures:Array = new Array();
        var errorMessage:String;
        var failure:Boolean;

        var valRes:ValidationResult;
        if (_model.isActiveAvailable && _internal_active == null)
        {
            validationFailures.push(new ValidationResult(true, "", "", "active is required"));
        }

        model_internal::_doValidationCacheOfActive = validationFailures;
        model_internal::_doValidationLastValOfActive = value;

        return validationFailures;
    }
    

}

}
